package io.renren.modules.sq.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 系统授权码表
 *
 * @author txw_cyl
 * @email sunlightcs@gmail.com
 * @date 2022-05-14 19:29:39
 */
@Data
@Accessors(chain = true)
@TableName("sq_system_authorization_code")
public class SqSystemAuthorizationCodeEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 授权码id
	 */
	@TableId(type = IdType.ASSIGN_ID)
	@ApiModelProperty(value = "授权码id", dataType = "Long")
	private Long id;
	/**
	 * 系统id
	 */
	@ApiModelProperty(value = "系统版本id", dataType = "Long")
	private Long systemEditionId;
	/**
	 * 用户id
	 */
	@ApiModelProperty(value = "用户id", dataType = "Long")
	private Long userId;
	/**
	 * 系统名称
	 */
	@ApiModelProperty(value = "系统名称", dataType = "String")
	private String systemName;
	/**
	 * 系统版本
	 */
	@ApiModelProperty(value = "系统版本", dataType = "String")
	private String systemEdition;
	/**
	 * 使用否0：未使用1：已使用
	 */
	@ApiModelProperty(value = "使用否0：未使用1：已使用", dataType = "Integer")
	private Integer used;
	/**
	 * 使用时间
	 */
	@ApiModelProperty(value = "使用时间", dataType = "Date")
	private Date usedTime;
	/**
	 * 创建时间
	 */
	@ApiModelProperty(value = "创建时间", dataType = "Date")
	private Date createTime;
	/**
	 * 授权码
	 */
	@ApiModelProperty(value = "授权码", dataType = "String")
	private String systemCode;
	/**
	 * 授权码
	 */
	@ApiModelProperty(value = "添加记录次数（1开始）", dataType = "Long")
	private Long createCodeNum;
	/**
	 * 备注
	 */
	@ApiModelProperty(value = "备注", dataType = "String")
	private String remarks;

	public String printCodeInfoRow() {
		//格式化时间
		String usedTimeFormat = "";
		if (usedTime != null) {
			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss");
			usedTimeFormat = simpleDateFormat.format(usedTime);
		}
		return systemName + "\t" + systemEdition + "\t" + systemCode + "\t" + (used==1?"已使用":"未使用") + "\t" + usedTimeFormat + "\r\n";
	}
}
